In general, software licenses dictate permissible uses of their corresponding software. License may impose limitations with respect to time, or usage methods, or the number of users. Strategies for implementing licensing, therefore, seek to make unauthorized duplication and usage of software more difficult.
Perpetual licensing is typically done using one of two types of anti-piracy solutions, including hardware-based solutions, and software-based solutions using client and server technology. Typically, hardware-based solutions provide a higher level of security as they rely on an external vendor controlled device, rather than on the end user's personal computer (PC). One such existing approach is to provide a hardware dongle, typically installed in the parallel port of the computer to provide a software interlock. Without the dongle the software may not execute. However, such a method is relatively expensive and cumbersome as it entails the maintenance of a physical object, which, nonetheless, remains vulnerable to theft by duplication of the hardware.
A software-based protection solution, in contrast, relies on the end user's PC to secure the digital license and maintain adherence to it. Typically, software-based solutions for perpetual licensing enforcement are less expensive than hardware-based solutions, and may rely on product activation based techniques.
One such approach may require a user to enter a serial number or customer identification number during installation of the software. Missing or invalid registration information prevents installation of the software. However, such an approach may be defeated by transferring the serial number or customer identification number to one or more unauthorized users.
Yet another approach requires registering the software with the manufacturer or distributor to obtain an operational code or password necessary for installation of the software. Once the operational code or password is obtained, it may be perpetually transferred along with pirated copies to numerous unauthorized users.
Accordingly, there is a need for an approach to software based licensing control that combines the security of a hardware dongle based approach while removing dependencies on actual physical hardware.